package com.kamkor.interviewer.client;


import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.kamkor.interviewer.shared.UserDetails;
import com.kamkor.interviewer.shared.InterviewDetails;
import com.kamkor.interviewer.shared.QuestionAnswerDetails;

/**
 * 
 * @author kamkor
 *
 */
public interface InterviewServiceAsync {

	void createInterview(InterviewDetails interviewDetails,
			AsyncCallback<UserDetails> callback);

	void createQuestionAnswer(Long interviewId, String question, String answer,
			AsyncCallback<QuestionAnswerDetails> callback);

	void getInterview(Long id, AsyncCallback<InterviewDetails> callback);

	void getQuestionAnswer(Long interviewId,
			AsyncCallback<List<QuestionAnswerDetails>> callback);

	void updateQuestionAnswer(List<QuestionAnswerDetails> list,
			AsyncCallback<Void> callback);

	void authenticateInterviewer(Long interviewId, Long adminKey,
			AsyncCallback<Boolean> callback);

	void getRequestHost(AsyncCallback<String> callback);

	void authenticateInterviewed(Long interviewId, Long key,
			AsyncCallback<Boolean> callback);

	void getInterviews(AsyncCallback<List<InterviewDetails>> callback);

	void deleteQuestionAnswer(Long id, AsyncCallback<Void> callback);

}
